Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>8b/10b encoding</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/8b%2F10b_encoding"> <link href="../mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="../mw/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="../mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="../mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="../mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="../mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="../mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="../mw/noscript.css">
<link rel="stylesheet" type="text/css" href="../footer.css">
<link rel="stylesheet" type="text/css" href="../vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-8b_10b_encoding rootpage-8b_10b_encoding skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">8b/10b encoding</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">"8/10" redirects here. For the dates, see <a href="../August_10" title="August 10">August 10</a> and <a href="../October_8" title="October 8">October 8</a>.</div>
<p class="mw-empty-elt">

</p>
<style data-mw-deduplicate="TemplateStyles:r1251242444">
/* start https://en.wikipedia.org/ */


.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style>
<style data-mw-deduplicate="TemplateStyles:r1295905060">
/* start https://en.wikipedia.org/ */


.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-size:100%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media(min-width:640px){body.skin--responsive .mw-parser-output .infobox-table{display:table!important}body.skin--responsive .mw-parser-output .infobox-table>caption{display:table-caption!important}body.skin--responsive .mw-parser-output .infobox-table>tbody{display:table-row-group}body.skin--responsive .mw-parser-output .infobox-table th,body.skin--responsive .mw-parser-output .infobox-table td{padding-left:inherit;padding-right:inherit}}


/* end https://en.wikipedia.org/ */
</style><table class="infobox" style="width:20em; font-size:94%;"><tbody><tr><th colspan="2" class="infobox-above" style="background-color: #adb;"><a href="../Fibre_Channel" title="Fibre Channel">Fibre Channel</a></th></tr><tr><th colspan="2" class="infobox-header" style="background-color: #cfc;">Layer 4. Protocol mapping</th></tr><tr><td colspan="2" class="infobox-full-data"><a href="../Logical_unit_number_masking" title="Logical unit number masking">LUN masking</a></td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #cfc;">Layer 3. Common services</th></tr><tr><th colspan="2" class="infobox-header" style="background-color: #cfc;">Layer 2. Network</th></tr><tr><td colspan="2" class="infobox-full-data"><a href="../Fibre_Channel_fabric" class="mw-redirect" title="Fibre Channel fabric">Fibre Channel fabric</a><br><a href="../Fibre_Channel_zoning" title="Fibre Channel zoning">Fibre Channel zoning</a><br><a href="../Registered_state_change_notification" title="Registered state change notification">Registered state change notification</a></td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #cfc;">Layer 1. Data link</th></tr><tr><td colspan="2" class="infobox-full-data"></td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #cfc;">Layer 0. Physical</th></tr></tbody></table>
<p>In <a href="../Telecommunication" class="mw-redirect" title="Telecommunication">telecommunications</a>, <b>8b/10b</b> is a <a href="../Line_code" title="Line code">line code</a> that maps <a href="../8-bit" class="mw-redirect" title="8-bit">8-bit</a> words to <a href="../10-bit" class="mw-redirect" title="10-bit">10-bit</a> <a href="../Symbol_(data)" class="mw-redirect" title="Symbol (data)">symbols</a> to achieve <a href="../DC_balance" class="mw-redirect" title="DC balance">DC balance</a> and bounded disparity, and at the same time provide enough state changes to allow reasonable <a href="../Clock_recovery" title="Clock recovery">clock recovery</a>. This means that the difference between the counts of ones and zeros in a string of <i>at least</i> 20 bits is no more than two, and that there are not more than five ones or zeros in a row. This helps to reduce the demand for the lower bandwidth limit of the channel necessary to transfer the signal.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p><p>An 8b/10b code can be implemented in various ways with focus on different performance parameters. One implementation was designed by K. Odaka for the <a href="../Digital_Audio_Tape" title="Digital Audio Tape">DAT</a> digital audio recorder.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> <a href="../Kees_Schouhamer_Immink" title="Kees Schouhamer Immink">Kees Schouhamer Immink</a> designed an 8b/10b code for the <a href="../Digital_Compact_Cassette" title="Digital Compact Cassette">DCC</a> audio recorder.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> The IBM implementation was described in 1983 by <a href="../Al_Widmer" class="mw-redirect" title="Al Widmer">Al Widmer</a> and <a href="../Peter_Franaszek" title="Peter Franaszek">Peter Franaszek</a>.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="IBM_implementation">IBM implementation</h2></div>
<p>As the scheme name suggests, eight <a href="../Bit" title="Bit">bits</a> of data are transmitted as a 10-bit entity called a <i>symbol</i>, or <i>character</i>. The low five bits of data are encoded into a 6-bit group (the 5b/6b portion) and the top three bits are encoded into a 4-bit group (the 3b/4b portion). These code groups are concatenated together to form the 10-bit symbol that is transmitted on the wire. The <i>data symbols</i> are often referred to as D.x.y where x ranges over 0–31 and y over 0–7. Standards using the 8b/10b encoding also define up to 12 <i>special symbols</i> (or <i>control characters</i>) that can be sent in place of a <i>data symbol</i>. They are often used to indicate start-of-frame, end-of-frame, link idle, skip and similar link-level conditions. At least one of them (i.e. a "comma" symbol) needs to be used to define the alignment of the 10-bit symbols. They are referred to as K.x.y and have different encodings from any of the D.x.y symbols.
</p><p>Because 8b/10b encoding uses 10-bit symbols to encode 8-bit words, some of the possible 1024 (10 bit, 2<sup>10</sup>) symbols can be excluded to grant a run-length limit of 5 consecutive equal bits and to ensure the difference between the count of zeros and ones to be no more than two. Some of the 256 possible 8-bit words can be encoded in two different ways. Using these alternative encodings, the scheme is able to achieve long-term DC-balance in the serial data stream. This permits the data stream to be transmitted through a channel with a high-pass characteristic, for example <a href="../Ethernet" title="Ethernet">Ethernet</a>'s <a href="../Transformer" title="Transformer">transformer</a>-coupled unshielded twisted pair or optical receivers using automatic gain control.
</p>
<div class="mw-heading mw-heading3"><h3 id="Encoding_tables_and_byte_encoding">Encoding tables and byte encoding</h3></div>
<p>Note that in the following tables, for each input byte (represented as <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">HGF EDCBA</code>), <i>A</i> denotes the <a href="../Least_significant_bit" class="mw-redirect" title="Least significant bit">least significant bit</a> (LSB), and <i>H</i> the most significant (MSB). The output gains two extra bits, <b>i</b> and <b>j</b>. The bits are sent from LSB to MSB: a, b, c, d, e, <b>i</b>,  f, g, h, and <b>j</b>; i.e., the 5b/6b code followed by the 3b/4b code. This ensures the uniqueness of the special bit sequence in the comma symbols.
</p><p>The residual effect on the stream to the number of zero and one bits transmitted is maintained as the <i>running disparity</i> (<i>RD</i>) and the effect of slew is balanced by the choice of encoding for following symbols.
</p><p>The 5b/6b code is a <a href="../Paired_disparity_code" title="Paired disparity code">paired disparity code</a>, and so is the 3b/4b code. Each 6- or 4-bit code word has either equal numbers of zeros and ones (a disparity of zero), or comes in a pair of forms, one with two more zeros than ones (four zeros and two ones, or three zeros and one one, respectively) and one with two less. When a 6- or 4-bit code is used that has a non-zero disparity (count of ones minus count of zeros; i.e., −2 or +2), the choice of positive or negative disparity encodings must be the one that toggles the running disparity. In other words, the non zero disparity codes alternate.
</p>
<div class="mw-heading mw-heading4"><h4 id="Running_disparity">Running disparity</h4></div>
<p>8b/10b coding is DC-free, meaning that the long-term ratio of ones and zeros transmitted is exactly 50%. To achieve this, the difference between the number of ones transmitted and the number of zeros transmitted is always limited to ±2, and at the end of each symbol, it is either +1 or −1. This difference is known as the <i>running disparity</i> (RD).
</p><p>This scheme needs only two states for the running disparity of +1 and −1. It starts at −1.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</p><p>For each 5b/6b and 3b/4b code with an unequal number of ones and zeros, there are two bit patterns that can be used to transmit it: one with two more "1" bits, and one with all bits inverted and thus two more zeros. Depending on the current running disparity of the signal, the encoding engine selects which of the two possible six- or four-bit sequences to send for the given data. Obviously, if the six-bit or four-bit code has equal numbers of ones and zeros, there is no choice to make, as the disparity would be unchanged, with the exceptions of sub-blocks D.07 (00111) and D.x.3 (011). In either case the disparity is still unchanged, but if RD is positive when D.07 is encountered 000111 is used, and if it is negative 111000 is used. Likewise, if RD is positive when D.x.3 is encountered 0011 is used, and if it is negative 1100 is used. This is accurately reflected in the charts below, but is worth making additional mention of as these are the only two sub-blocks with equal numbers of 1s and 0s that each have two possible encodings.
</p>
<table class="wikitable" style="text-align:center">
<caption>Rules for running disparity
</caption>
<tbody><tr>
<th>previous<br>RD</th>
<th>Disparity of<br>code word</th>
<th>Disparity<br>chosen</th>
<th>next<br>RD
</th></tr>
<tr>
<td>−1</td>
<td>0</td>
<td>0</td>
<td>−1
</td></tr>
<tr>
<td>−1</td>
<td>±2</td>
<td>+2</td>
<td>+1
</td></tr>
<tr>
<td>+1</td>
<td>0</td>
<td>0</td>
<td>+1
</td></tr>
<tr>
<td>+1</td>
<td>±2</td>
<td>−2</td>
<td>−1
</td></tr></tbody></table>
<div class="mw-heading mw-heading4"><h4 id="5b/6b_code_(abcdei)">5b/6b code (abcdei)</h4></div>
<table class="wikitable" style="text-align:center; border-width:0;">
<tbody><tr>
<th colspan="2">Input</th>
<th><small>RD = −1</small></th>
<th><small>RD = +1</small>
</th>
<td rowspan="19" style="border-width:0; background:#FFFFFF;">
</td>
<th colspan="2">Input</th>
<th><small>RD = −1</small></th>
<th><small>RD = +1</small>
</th>
<th style="border-width:0; background:#FFFFFF;">
</th></tr>
<tr>
<th>Code</th>
<th><abbr title="Bits of a 5 bits with MSB on the left and LSB on the right">EDCBA</abbr></th>
<th colspan="2">a&nbsp;b&nbsp;c&nbsp;d&nbsp;e&nbsp;i</th>
<th>Code</th>
<th>EDCBA</th>
<th colspan="2">a&nbsp;b&nbsp;c&nbsp;d&nbsp;e&nbsp;i</th>
<th style="border-width:0; background:#FFFFFF;">
</th></tr>
<tr>
<td>D.00</td>
<td>00000</td>
<td>100111</td>
<td>011000</td>
<td align="left">D.16</td>
<td>10000</td>
<td>011011</td>
<td>100100</td>
<td style="border-width:0; background:#FFFFFF;">
</td></tr>
<tr>
<td>D.01</td>
<td>00001</td>
<td>011101</td>
<td>100010</td>
<td align="left">D.17</td>
<td>10001</td>
<td colspan="2">100011</td>
<td style="border-width:0; background:#FFFFFF;">
</td></tr>
<tr>
<td>D.02</td>
<td>00010</td>
<td>101101</td>
<td>010010</td>
<td align="left">D.18</td>
<td>10010</td>
<td colspan="2">010011</td>
<td style="border-width:0; background:#FFFFFF;">
</td></tr>
<tr>
<td>D.03</td>
<td>00011</td>
<td colspan="2">110001</td>
<td align="left">D.19</td>
<td>10011</td>
<td colspan="2">110010</td>
<td style="border-width:0; background:#FFFFFF;">
</td></tr>
<tr>
<td>D.04</td>
<td>00100</td>
<td>110101</td>
<td>001010</td>
<td align="left">D.20</td>
<td>10100</td>
<td colspan="2">001011</td>
<td style="border-width:0; background:#FFFFFF;">
</td></tr>
<tr>
<td>D.05</td>
<td>00101</td>
<td colspan="2">101001</td>
<td align="left">D.21</td>
<td>10101</td>
<td colspan="2">101010</td>
<td style="border-width:0; background:#FFFFFF;">
</td></tr>
<tr>
<td>D.06</td>
<td>00110</td>
<td colspan="2">011001</td>
<td align="left">D.22</td>
<td>10110</td>
<td colspan="2">011010</td>
<td style="border-width:0; background:#FFFFFF;">
</td></tr>
<tr>
<td>D.07</td>
<td>00111</td>
<td>111000</td>
<td>000111</td>
<td align="left" style="background:#F4F4FC;">D.23 †</td>
<td>10111</td>
<td>111010</td>
<td>000101</td>
<td style="border-width:0; background:#FFFFFF;" align="left"><i>also used for the K.23.7 symbol</i>
</td></tr>
<tr>
<td>D.08</td>
<td>01000</td>
<td>111001</td>
<td>000110</td>
<td align="left">D.24</td>
<td>11000</td>
<td>110011</td>
<td>001100</td>
<td style="border-width:0; background:#FFFFFF;">
</td></tr>
<tr>
<td>D.09</td>
<td>01001</td>
<td colspan="2">100101</td>
<td align="left">D.25</td>
<td>11001</td>
<td colspan="2">100110</td>
<td style="border-width:0; background:#FFFFFF;">
</td></tr>
<tr>
<td>D.10</td>
<td>01010</td>
<td colspan="2">010101</td>
<td align="left">D.26</td>
<td>11010</td>
<td colspan="2">010110</td>
<td style="border-width:0; background:#FFFFFF;">
</td></tr>
<tr>
<td>D.11</td>
<td>01011</td>
<td colspan="2">110100</td>
<td align="left" style="background:#F4F4FC;">D.27 †</td>
<td>11011</td>
<td>110110</td>
<td>001001</td>
<td style="border-width:0; background:#FFFFFF;" align="left"><i>also used for the K.27.7 symbol</i>
</td></tr>
<tr>
<td>D.12</td>
<td>01100</td>
<td colspan="2">001101</td>
<td align="left">D.28</td>
<td>11100</td>
<td colspan="2">001110</td>
<td style="border-width:0; background:#FFFFFF;" align="left">
</td></tr>
<tr>
<td>D.13</td>
<td>01101</td>
<td colspan="2">101100</td>
<td align="left" style="background:#F4F4FC;">D.29 †</td>
<td>11101</td>
<td>101110</td>
<td>010001</td>
<td style="border-width:0; background:#FFFFFF;" align="left"><i>also used for the K.29.7 symbol</i>
</td></tr>
<tr>
<td>D.14</td>
<td>01110</td>
<td colspan="2">011100</td>
<td align="left" style="background:#F4F4FC;">D.30 †</td>
<td>11110</td>
<td>011110</td>
<td>100001</td>
<td style="border-width:0; background:#FFFFFF;" align="left"><i>also used for the K.30.7 symbol</i>
</td></tr>
<tr>
<td>D.15</td>
<td>01111</td>
<td>010111</td>
<td>101000</td>
<td align="left">D.31</td>
<td>11111</td>
<td>101011</td>
<td>010100</td>
<td rowspan="1" style="border-width:0; background:#FFFFFF;">
</td></tr>
<tr>
<td align="left" style="border-width:0; background:#FFFFFF;" colspan="2"><i>not used</i></td>
<td style="border-width:0; background:#FFFFFF;"><b>1111</b>00</td>
<td style="border-width:0; background:#FFFFFF;"><b>0000</b>11
</td>
<td align="left" style="background:#E8EAFF;">K.28 ‡</td>
<td>11100</td>
<td>00<b>1111</b></td>
<td>11<b>0000</b></td>
<td style="border-width:0; background:#FFFFFF;" align="left">exclusively used for K.28.x symbols
</td></tr></tbody></table>
<p>† also used for the 5b/6b code of K.x.7
</p><p>‡ exclusively used for the 5b/6b code of K.28.y
</p>
<div class="mw-heading mw-heading4"><h4 id="3b/4b_code_(fghj)">3b/4b code (fghj)</h4></div>
<table class="wikitable" style="text-align:center; border-width:0;">
<tbody><tr>
<th colspan="2">Input</th>
<th><small>RD = −1</small></th>
<th><small>RD = +1</small>
</th>
<td rowspan="11" style="text-align:center; background:#FFFFFF; border-width:0;">
</td>
<th colspan="2">Input</th>
<th><small>RD = −1</small></th>
<th><small>RD = +1</small>
</th></tr>
<tr>
<th>Code</th>
<th>HGF</th>
<th colspan="2">f&nbsp;g&nbsp;h&nbsp;j</th>
<th>Code</th>
<th>HGF</th>
<th colspan="2">f&nbsp;g&nbsp;h&nbsp;j
</th></tr>
<tr>
<td align="left">D.x.0</td>
<td>000</td>
<td>1011</td>
<td>0100</td>
<td align="left" style="background:#EEEEFF;">K.x.0</td>
<td>000</td>
<td>1011</td>
<td>0100
</td></tr>
<tr>
<td align="left">D.x.1</td>
<td>001</td>
<td colspan="2">1001</td>
<td align="left" style="background:#EEEEFF;">K.x.1 ‡</td>
<td>001</td>
<td><b>0</b>110</td>
<td><b>1</b>001
</td></tr>
<tr>
<td align="left">D.x.2</td>
<td>010</td>
<td colspan="2">0101</td>
<td align="left" style="background:#EEEEFF;">K.x.2</td>
<td>010</td>
<td>1010</td>
<td>0101
</td></tr>
<tr>
<td align="left">D.x.3</td>
<td>011</td>
<td>1100</td>
<td>0011</td>
<td align="left" style="background:#EEEEFF;">K.x.3</td>
<td>011</td>
<td>1100</td>
<td>0011
</td></tr>
<tr>
<td align="left">D.x.4</td>
<td>100</td>
<td>1101</td>
<td>0010</td>
<td align="left" style="background:#EEEEFF;">K.x.4</td>
<td>100</td>
<td>1101</td>
<td>0010
</td></tr>
<tr>
<td align="left">D.x.5</td>
<td>101</td>
<td colspan="2">1010</td>
<td align="left" style="background:#EEEEFF;">K.x.5 ‡</td>
<td>101</td>
<td><b>0</b>101</td>
<td><b>1</b>010
</td></tr>
<tr>
<td align="left">D.x.6</td>
<td>110</td>
<td colspan="2">0110</td>
<td align="left" style="background:#EEEEFF;">K.x.6</td>
<td>110</td>
<td>1001</td>
<td>0110
</td></tr>
<tr>
<td align="left">D.x.P7 †</td>
<td rowspan="2">111</td>
<td>1110</td>
<td>0001</td>
<td align="left" style="background:#EEEEFF;">K.x.7 ‡</td>
<td>111</td>
<td><b>0</b>111</td>
<td><b>1</b>000
</td></tr>
<tr>
<td align="left">D.x.A7 †</td>
<td>0111</td>
<td>1000</td>
<td colspan="4" style="background:#FFFFFF; border-width:0;">
</td></tr></tbody></table>
<p>† For D.x.7, either the Primary (D.x.P7), or the Alternate (D.x.A7) encoding must be selected in order to avoid a run of five consecutive 0s or 1s when combined with the preceding 5b/6b code.<br>Sequences of exactly five identical bits are used in comma symbols for synchronization issues.<br> D.x.A7 is used only
</p>
<ul><li>when RD&nbsp;=&nbsp;−1: for <i>x</i>&nbsp;=&nbsp;17, 18 and 20 and</li>
<li>when RD&nbsp;=&nbsp;+1: for <i>x</i>&nbsp;=&nbsp;11, 13 and 14.</li></ul>
<p>With <i>x</i>&nbsp;=&nbsp;23, <i>x</i>&nbsp;=&nbsp;27, <i>x</i>&nbsp;=&nbsp;29, and <i>x</i>&nbsp;=&nbsp;30, the 3b/4b code portion used for control symbols K.x.7 is the same as that for D.x.A7.<br>Any other D.x.A7 code can't be used as it would result in chances for misaligned comma sequences.
</p><p>‡ Only K.28.1, K.28.5, and K.28.7 generate comma symbols, that contain a bit sequence of five 0s or 1s.<br>The symbol has the format 11<b>0000&nbsp;0</b>1xx or 00<b>1111&nbsp;1</b>0xx.
</p>
<div class="mw-heading mw-heading4"><h4 id="Control_symbols">Control symbols</h4></div>
<p>The control symbols within 8b/10b are 10b symbols that are valid sequences of bits (no more than six 1s or 0s) but do not have a corresponding 8b data byte. They are used for low-level control functions. For instance, in Fibre Channel, K28.5 is used at the beginning of four-byte sequences (called "Ordered Sets") that perform functions such as Loop Arbitration, Fill Words, Link Resets, etc.
</p><p>Resulting from the 5b/6b and 3b/4b tables the following 12 control symbols are allowed to be sent:
</p>
<table class="wikitable" style="text-align:center">
<caption>Control symbols
</caption>
<tbody><tr>
<th colspan="4">Input</th>
<th><small>RD = −1</small></th>
<th><small>RD = +1</small>
</th></tr>
<tr>
<th>Symbol</th>
<th>DEC</th>
<th>HEX</th>
<th>HGF EDCBA</th>
<th>abcdei fghj</th>
<th>abcdei fghj
</th></tr>
<tr>
<td align="left" style="background:#EEEEFF;">K.28.0</td>
<td>28</td>
<td>1C</td>
<td>000 11100</td>
<td>001111 0100</td>
<td>110000 1011
</td></tr>
<tr>
<td align="left" style="background:#EEEEFF;">K.28.1 †</td>
<td>60</td>
<td>3C</td>
<td>001 11100</td>
<td>00<b>1111 1</b>001</td>
<td>11<b>0000 0</b>110
</td></tr>
<tr>
<td align="left" style="background:#EEEEFF;">K.28.2&nbsp;</td>
<td>92</td>
<td>5C</td>
<td>010 11100</td>
<td>001111 0101</td>
<td>110000 1010
</td></tr>
<tr>
<td align="left" style="background:#EEEEFF;">K.28.3&nbsp;</td>
<td>124</td>
<td>7C</td>
<td>011 11100</td>
<td>001111 0011</td>
<td>110000 1100
</td></tr>
<tr>
<td align="left" style="background:#EEEEFF;">K.28.4&nbsp;</td>
<td>156</td>
<td>9C</td>
<td>100 11100</td>
<td>001111 0010</td>
<td>110000 1101
</td></tr>
<tr>
<td align="left" style="background:#EEEEFF;">K.28.5 †</td>
<td>188</td>
<td>BC</td>
<td>101 11100</td>
<td>00<b>1111 1</b>010</td>
<td>11<b>0000 0</b>101
</td></tr>
<tr>
<td align="left" style="background:#EEEEFF;">K.28.6&nbsp;</td>
<td>220</td>
<td>DC</td>
<td>110 11100</td>
<td>001111 0110</td>
<td>110000 1001
</td></tr>
<tr>
<td align="left" style="background:#EEEEFF;">K.28.7 ‡</td>
<td>252</td>
<td>FC</td>
<td>111 11100</td>
<td>00<b>1111 1</b>000</td>
<td>11<b>0000 0</b>111
</td></tr>
<tr>
<td align="left" style="background:#EEEEFF;">K.23.7&nbsp;</td>
<td>247</td>
<td>F7</td>
<td>111 10111</td>
<td>111010 1000</td>
<td>000101 0111
</td></tr>
<tr>
<td align="left" style="background:#EEEEFF;">K.27.7&nbsp;</td>
<td>251</td>
<td>FB</td>
<td>111 11011</td>
<td>110110 1000</td>
<td>001001 0111
</td></tr>
<tr>
<td align="left" style="background:#EEEEFF;">K.29.7&nbsp;</td>
<td>253</td>
<td>FD</td>
<td>111 11101</td>
<td>101110 1000</td>
<td>010001 0111
</td></tr>
<tr>
<td align="left" style="background:#EEEEFF;">K.30.7&nbsp;</td>
<td>254</td>
<td>FE</td>
<td>111 11110</td>
<td>011110 1000</td>
<td>100001 0111
</td></tr></tbody></table>
<p>† Within the control symbols, K.28.1, K.28.5, and K.28.7 are "comma symbols". Comma symbols are used for synchronization (finding the alignment of the 8b/10b codes within a bit-stream). If K.28.7 is not used, the unique comma sequences 00<b>11111</b>0 or 11<b>00000</b>1 cannot inadvertently appear at any bit position within any combination of normal codes.
</p><p>‡ If K.28.7 is allowed in the actual coding, a more complex definition of the synchronization pattern than suggested by † needs to be used, as a combination of K.28.7 with several other codes forms a false misaligned comma symbol overlapping the two codes. A sequence of multiple K.28.7 codes is not allowable in any case, as this would result in undetectable misaligned comma symbols.
</p><p>K.28.7 is the only comma symbol that cannot be the result of a single bit error in the data stream.
</p>
<div class="mw-heading mw-heading4"><h4 id="Example_encoding_of_D31.1">Example encoding of D31.1</h4></div>
<table class="wikitable" style="text-align:center;">
<caption>D31.1 for both running disparity cases
</caption>
<tbody><tr>
<th colspan="4">Input</th>
<th><small>RD = −1</small></th>
<th><small>RD = +1</small>
</th></tr>
<tr>
<th>Code</th>
<th>DEC</th>
<th>HEX</th>
<th>HGF EDCBA</th>
<th>abcdei fghj</th>
<th>abcdei fghj
</th></tr>
<tr>
<td>D31.1</td>
<td>63</td>
<td>3F</td>
<td>001 11111</td>
<td>101011 1001</td>
<td>010100 1001
</td></tr></tbody></table>
<div class="mw-heading mw-heading2"><h2 id="Technologies_that_use_8b/10b">Technologies that use 8b/10b</h2></div>
<p>After the above-mentioned IBM patent expired, the scheme became even more popular and was chosen as a DC-free line code for several communication technologies.
</p><p>Among the areas in which 8b/10b encoding finds application are the following:
</p>
<style data-mw-deduplicate="TemplateStyles:r1184024115">
/* start https://en.wikipedia.org/ */


.mw-parser-output .div-col{margin-top:0.3em;column-width:30em}.mw-parser-output .div-col-small{font-size:90%}.mw-parser-output .div-col-rules{column-rule:1px solid #aaa}.mw-parser-output .div-col dl,.mw-parser-output .div-col ol,.mw-parser-output .div-col ul{margin-top:0}.mw-parser-output .div-col li,.mw-parser-output .div-col dd{page-break-inside:avoid;break-inside:avoid-column}


/* end https://en.wikipedia.org/ */
</style><div class="div-col" style="column-width: 30em;">
<ul><li><a href="../Aurora_(protocol)" title="Aurora (protocol)">Aurora</a></li>
<li><a href="../Camera_Serial_Interface" title="Camera Serial Interface">Camera Serial Interface</a></li>
<li><a href="../CoaXPress" title="CoaXPress">CoaXPress</a></li>
<li><a href="../Common_Public_Radio_Interface" title="Common Public Radio Interface">Common Public Radio Interface</a> (CPRI)</li>
<li><a href="../DVB" title="DVB">DVB</a> <a href="../Asynchronous_serial_interface" title="Asynchronous serial interface">Asynchronous serial interface</a> (ASI)</li>
<li><a href="../DVI" class="mw-redirect" title="DVI">DVI</a> and <a href="../HDMI" title="HDMI">HDMI</a> Video Island (<a href="../Transition-minimized_differential_signaling" title="Transition-minimized differential signaling">transition-minimized differential signaling</a>)</li>
<li><a href="../DisplayPort" title="DisplayPort">DisplayPort</a> 1.x</li>
<li><a href="../ESCON" title="ESCON">ESCON</a> (Enterprise Systems Connection)</li>
<li><a href="../Fibre_Channel" title="Fibre Channel">Fibre Channel</a></li>
<li><a href="../Gigabit_Ethernet" title="Gigabit Ethernet">Gigabit Ethernet</a> (except for the <a href="../Twisted_pair" title="Twisted pair">twisted pair</a>–based <a href="../1000BASE-T" class="mw-redirect" title="1000BASE-T">1000BASE-T</a>)</li>
<li><a href="../IEEE_1394b" class="mw-redirect" title="IEEE 1394b">IEEE 1394b</a> (FireWire and others)</li>
<li><a href="../InfiniBand" title="InfiniBand">InfiniBand</a></li>
<li>JESD204B</li>
<li><a href="../Open_Base_Station_Architecture_Initiative" title="Open Base Station Architecture Initiative">OBSAI RP3</a> interface</li>
<li><a href="../PCI_Express" title="PCI Express">PCI Express</a> 1.x and 2.x</li>
<li><a href="../Serial_RapidIO" class="mw-redirect" title="Serial RapidIO">Serial RapidIO</a></li>
<li>SD UHS-II</li>
<li><a href="../Serial_ATA" class="mw-redirect" title="Serial ATA">Serial ATA</a></li>
<li><a href="../Serial_Attached_SCSI" title="Serial Attached SCSI">SAS</a> 1.x, 2.x and 3.x</li>
<li><a href="../Serial_Storage_Architecture" title="Serial Storage Architecture">SSA</a></li>
<li><a href="../ServerNet" title="ServerNet">ServerNet</a> (starting with ServerNet2)</li>
<li><a href="../SGMII" class="mw-redirect" title="SGMII">SGMII</a></li>
<li><a href="../UniPro_M-PHY" class="mw-redirect" title="UniPro M-PHY">UniPro M-PHY</a><sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup></li>
<li><a href="../USB_3.0" title="USB 3.0">USB 3.0</a></li>
<li><a href="../Thunderbolt_(interface)" title="Thunderbolt (interface)">Thunderbolt</a> 1.x and 2.x</li>
<li><a href="../XAUI" title="XAUI">XAUI</a></li>
<li>SLVS-EC</li></ul>
</div>
<div class="mw-heading mw-heading3"><h3 id="Fibre_Channel_(4GFC_and_8GFC_variants_only)">Fibre Channel (4GFC and 8GFC variants only)</h3></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="../Fibre_Channel" title="Fibre Channel">Fibre Channel</a></div>
<p>The FC-0 standard defines what encoding scheme is to be used (8b/10b or 64b/66b) in a Fibre Channel system<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>&nbsp;– higher speed variants typically use 64b/66b to optimize bandwidth efficiency (since bandwidth overhead is 20% in 8b/10b versus approximately 3% (~&nbsp;2/66) in 64b/66b systems). Thus, 8b/10b encoding is used for 4GFC and 8GFC variants; for 10GFC and 16GFC variants, it is 64b/66b.<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> The Fibre Channel <i>FC1</i> data link layer is then responsible for implementing the 8b/10b encoding and decoding of signals.
</p><p>The Fibre Channel 8b/10b coding scheme is also used in other telecommunications systems. Data is expanded using an algorithm that creates one of two possible 10-bit output values for each input 8-bit value. Each 8-bit input value can map either to a 10-bit output value with odd disparity, or to one with even disparity. This mapping is usually done at the time when parallel input data is converted into a serial output stream for transmission over a fibre channel link. The odd/even selection is done in such a way that a long-term zero disparity between ones and zeroes is maintained. This is often called "DC balancing".
</p><p>The 8-bit to 10-bit conversion scheme uses only 512 of the possible 1024 output values. Of the remaining 512 unused output values, most contain either too many ones (or too many zeroes) and therefore are not allowed. This still leaves enough spare 10-bit odd+even coding pairs to allow for at least 12 special non-data characters.
</p><p>The codes that represent the 256 data values are called the data (D) codes. The codes that represent the 12 special non-data characters are called the control (K) codes.
</p><p>All of the codes can be described by stating 3 octal values. This is done with a naming convention of "Dxx.x" or "Kxx.x". (Note that the tables in earlier sections are using decimal, rather than octal, values for Dxx.x or Kxx.x)
</p><p><b>Example:</b>
</p>
<dl><dd>Input Data Bits: ABCDEFGH</dd>
<dd>Data is split: ABC DEFGH</dd>
<dd>Data is shuffled: DEFGH ABC</dd></dl>
<p>Now these bits are converted to decimal in the way they are paired.
</p><p>Input data
</p>
<pre>C3 (HEX) = 11000011
= 110 00011
= 00011 110
= 3 6
</pre>
<p><b>E 8B/10B = D03.6</b>
</p>
<div class="mw-heading mw-heading3"><h3 id="Digital_audio">Digital audio</h3></div>
<p>Encoding schemes 8b/10b have found a heavy use in digital audio storage applications, namely
</p>
<ul><li><a href="../Digital_Audio_Tape" title="Digital Audio Tape">Digital Audio Tape</a>, US Patent 4,456,905, June 1984 by K. Odaka.</li>
<li><a href="../Digital_Compact_Cassette" title="Digital Compact Cassette">Digital Compact Cassette</a> (DCC), US Patent 4,620,311, October 1986 by <a href="../Kees_Schouhamer_Immink" title="Kees Schouhamer Immink">Kees Schouhamer Immink</a>.</li></ul>
<p>A differing but related scheme is used for <a href="../Audio_CD" class="mw-redirect" title="Audio CD">audio CDs</a> and <a href="../CD-ROM" title="CD-ROM">CD-ROMs</a>:
</p>
<ul><li><a href="../Compact_disc" title="Compact disc">Compact disc</a> <a href="../Eight-to-fourteen_modulation" title="Eight-to-fourteen modulation">Eight-to-fourteen modulation</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Alternatives">Alternatives</h2></div>
<p>Note that 8b/10b is the encoding scheme, not a specific code. While many applications do use the same code, there exist some incompatible implementations; for example, <a href="../Transition_Minimized_Differential_Signaling" class="mw-redirect" title="Transition Minimized Differential Signaling">Transition Minimized Differential Signaling</a>, which also expands 8 bits to 10 bits, but it uses a completely different method to do so.
</p><p><a href="../64b/66b_encoding" title="64b/66b encoding">64b/66b encoding</a>, introduced for <a href="../10_Gigabit_Ethernet" title="10 Gigabit Ethernet">10 Gigabit Ethernet</a>'s <a href="../10GBASE-R" class="mw-redirect" title="10GBASE-R">10GBASE-R</a> <a href="../Physical_Medium_Dependent" class="mw-redirect" title="Physical Medium Dependent">Physical Medium Dependent</a> (PMD) interfaces, is a lower-overhead alternative to 8b/10b encoding, having a two-bit overhead per 64 bits (instead of eight bits) of encoded data. This scheme is considerably different in design from 8b/10b encoding, and does not explicitly guarantee DC balance, short run length, and transition density (these features are achieved statistically via <a href="../Scrambler" title="Scrambler">scrambling</a>). 64b/66b encoding has been extended to the 128b/130b and 128b/132b encoding variants for <a href="../PCI_Express_3.0" class="mw-redirect" title="PCI Express 3.0">PCI Express&nbsp;3.0</a> and <a href="../USB_3.1" class="mw-redirect" title="USB 3.1">USB&nbsp;3.1</a>, respectively, replacing the 8b/10b encoding in earlier revisions of each standard.<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist reflist-columns references-column-width" style="column-width: 30em;">
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("../mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("../mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("../mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("../mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFKees_Schouhamer_Immink1997" class="citation journal cs1"><a href="../Kees_Schouhamer_Immink" title="Kees Schouhamer Immink">Kees Schouhamer Immink</a> (March 1997). "Performance Assessment of DC-Free Multimode Codes". <i>IEEE Transactions on Communications</i>. <b>45</b> (3): <span class="nowrap">293–</span>299. <a href="../Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2F26.558690">10.1109/26.558690</a>. <q>The <i>dc-balanced</i> or <i>dc-free</i> codes, as they are often called, have a long history and their application is certainly not confined to recording practice.</q></cite></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1041539562">
/* start https://en.wikipedia.org/ */


.mw-parser-output .citation{word-wrap:break-word}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}


/* end https://en.wikipedia.org/ */
</style><span class="citation patent"><a rel="nofollow" class="external text" href="https://worldwide.espacenet.com/textdoc?DB=EPODOC&amp;IDX=US4,456,905">US 4,456,905</a>, "Method and apparatus for encoding binary data", published June 26, 1984</span><span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Apatent&amp;rft.number=4,456,905&amp;rft.cc=US&amp;rft.title=Method+and+apparatus+for+encoding+binary+data&amp;rft.pubdate=1984-06-26"><span style="display: none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><span class="citation patent"><a rel="nofollow" class="external text" href="https://worldwide.espacenet.com/textdoc?DB=EPODOC&amp;IDX=US4,620,311">US 4,620,311</a>, "Method of transmitting information, encoding device for use in the method, and decoding device for use in the method", published October 28, 1986</span><span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Apatent&amp;rft.number=4,620,311&amp;rft.cc=US&amp;rft.title=Method+of+transmitting+information%2C+encoding+device+for+use+in+the+method%2C+and+decoding+device+for+use+in+the+method&amp;rft.pubdate=1986-10-28"><span style="display: none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><cite id="CITEREFAl_X._Widmer,_Peter_A._Franaszek1983" class="citation journal cs1">Al X. Widmer, Peter A. Franaszek (1983). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20090530123123/http://domino.research.ibm.com/tchjr/journalindex.nsf/0/b4e28be4a69a153585256bfa0067f59a?OpenDocument">"A DC-Balanced, Partitioned-Block, 8B/10B Transmission Code"</a>. <i>IBM Journal of Research and Development</i>. <b>27</b> (5): <span class="nowrap">440–</span>451. <a href="../Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1147%2Frd.275.0440">10.1147/rd.275.0440</a>. Archived from <span class="id-lock-subscription" title="Paid subscription required"><a rel="nofollow" class="external text" href="http://domino.research.ibm.com/tchjr/journalindex.nsf/0/b4e28be4a69a153585256bfa0067f59a?OpenDocument">the original</a></span> on May 30, 2009<span class="reference-accessdate">. Retrieved <span class="nowrap">April 5,</span> 2005</span>.</cite></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><span class="citation patent"><a rel="nofollow" class="external text" href="https://worldwide.espacenet.com/textdoc?DB=EPODOC&amp;IDX=US4,486,739">US 4,486,739</a>, "Byte oriented DC balanced (0,4) 8B/10B partitioned block transmission code", published December 4, 1984</span><span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Apatent&amp;rft.number=4,486,739&amp;rft.cc=US&amp;rft.title=Byte+oriented+DC+balanced+%280%2C4%29+8B%2F10B+partitioned+block+transmission+code&amp;rft.pubdate=1984-12-04"><span style="display: none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><cite id="CITEREFThatcher,_Jonathan1996" class="citation web cs1">Thatcher, Jonathan (April 1, 1996). <a rel="nofollow" class="external text" href="https://grouper.ieee.org/groups/802/3/z/public/presentations/mar1996/JTtgep.txt">"Thoughts on Gigabit Ethernet Physical"</a>. <i>IBM</i><span class="reference-accessdate">. Retrieved <span class="nowrap">August 17,</span> 2008</span>.</cite></span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.mipi.org/specifications/physical-layer#MPHY">"Physical Layer Specifications"</a>. <i>Mipi.org</i>. MIPI Alliance<span class="reference-accessdate">. Retrieved <span class="nowrap">April 20,</span> 2014</span>.</cite></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text">Fibre Channel
Framing and Signaling - 3
(FC-FS-3) Rev 1.1 Sections 5.2.1 and 5.3.1 <a rel="nofollow" class="external autonumber" href="http://www.t11.org/index.html">[1]</a></span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text">FIBRE CHANNEL
Physical Interface-5
(FC-PI-5)
REV 6.10 Section 5.7 <a rel="nofollow" class="external autonumber" href="http://www.t11.org/index.html">[2]</a></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><cite id="CITEREFMahesh_Wagh2011" class="citation web cs1">Mahesh Wagh (August 6, 2011). <a rel="nofollow" class="external text" href="https://www.pcisig.com/developers/main/training_materials/get_document?doc_id=9ee1d6372dbafcfd4b20f4f6508a05200d817846">"PCIe 3.0 Encoding &amp; PHY Logical"</a> <span class="cs1-format">(PDF)</span>. <i>pcisig.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">June 5,</span> 2015</span>.</cite></span>
</li>
</ol></div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20140608160037/http://www.knowledgetransfer.net/dictionary/Storage/en/8b10b_encoding.htm">"Definition of 8b/10b encoding"</a>. Archived from <a rel="nofollow" class="external text" href="http://www.knowledgetransfer.net/dictionary/Storage/en/8b10b_encoding.htm">the original</a> on June 8, 2014<span class="reference-accessdate">. Retrieved <span class="nowrap">September 2,</span> 2014</span>.</cite></li></ul>
<div class="skin-invert-image"><div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Line_coding_(digital_baseband_transmission)443" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="3"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div id="Line_coding_(digital_baseband_transmission)443" style="font-size:114%;margin:0 4em"><a href="../Line_coding" class="mw-redirect" title="Line coding">Line coding</a> (digital baseband transmission)</div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Main articles</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="../Unipolar_encoding" title="Unipolar encoding">Unipolar encoding</a></li>
<li><a href="../Bipolar_encoding" title="Bipolar encoding">Bipolar encoding</a></li>
<li><a href="../On%E2%80%93off_keying" title="On–off keying">On–off keying</a></li>
<li><a href="../Mark_and_space" title="Mark and space">Mark and space</a></li></ul>
</div></td><td class="noviewer navbox-image" rowspan="4" style="width:1px;padding:0 0 0 2px"><div><span typeof="mw:File"></span></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Basic <a href="../Line_code" title="Line code">line codes</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="../Return-to-zero" title="Return-to-zero">Return to zero (RZ)</a></li>
<li><a href="../Non-return-to-zero#Non-return-to-zero_level" title="Non-return-to-zero">Non-return-to-zero, level (NRZ/NRZ-L)</a></li>
<li><a href="../Non-return-to-zero#Non-return-to-zero_inverted" title="Non-return-to-zero">Non-return-to-zero, inverted (NRZ-I)</a></li>
<li><a href="../Non-return-to-zero#Non-return-to-zero_space" title="Non-return-to-zero">Non-return-to-zero, space (NRZ-S)</a></li>
<li><a href="../Manchester_code" title="Manchester code">Manchester</a></li>
<li><a href="../Differential_Manchester_encoding" title="Differential Manchester encoding">Differential Manchester/biphase (Bi-φ)</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Extended line codes</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="../Conditioned_diphase" class="mw-redirect" title="Conditioned diphase">Conditioned diphase</a></li>
<li><a href="../4B3T" title="4B3T">4B3T</a></li>
<li><a href="../4B5B" title="4B5B">4B5B</a></li>
<li><a href="../2B1Q" title="2B1Q">2B1Q</a></li>
<li><a href="../Bipolar_encoding#Alternate_mark_inversion" title="Bipolar encoding">Alternate mark inversion</a></li>
<li><a href="../Modified_AMI_code" title="Modified AMI code">Modified AMI code</a></li>
<li><a href="../Coded_mark_inversion" title="Coded mark inversion">Coded mark inversion</a></li>
<li><a href="../MLT-3_encoding" title="MLT-3 encoding">MLT-3 encoding</a></li>
<li><a href="../Hybrid_ternary_code" title="Hybrid ternary code">Hybrid ternary code</a></li>
<li><a href="../6b/8b_encoding" title="6b/8b encoding">6b/8b encoding</a></li>

<li><a href="../64b/66b_encoding" title="64b/66b encoding">64b/66b encoding</a></li>
<li><a href="../Eight-to-fourteen_modulation" title="Eight-to-fourteen modulation">Eight-to-fourteen modulation</a></li>
<li><a href="../Delay_encoding" class="mw-redirect" title="Delay encoding">Delay/Miller encoding</a></li>
<li><a href="../TC-PAM" title="TC-PAM">TC-PAM</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Optical line codes</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="../Carrier-suppressed_return-to-zero" class="mw-redirect" title="Carrier-suppressed return-to-zero">Carrier-suppressed return-to-zero</a></li>
<li><a href="../Alternate-phase_return-to-zero" class="mw-redirect" title="Alternate-phase return-to-zero">Alternate-phase return-to-zero</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow hlist" colspan="3"><div>
<ul><li><i>See also:</i> <a href="../Baseband" title="Baseband">Baseband</a></li>
<li><a href="../Baud" title="Baud">Baud</a></li>
<li><a href="../Bit_rate" title="Bit rate">Bit rate</a></li>
<li><a href="../Digital_signal" title="Digital signal">Digital signal</a></li>
<li><a href="../Digital_transmission" class="mw-redirect" title="Digital transmission">Digital transmission</a></li>
<li><a href="../Ethernet_physical_layer" title="Ethernet physical layer">Ethernet physical layer</a></li>
<li><a href="../Modulation" class="mw-redirect" title="Modulation">Pulse modulation methods</a></li>
<li><a href="../Pulse-amplitude_modulation" title="Pulse-amplitude modulation">Pulse-amplitude modulation</a> (PAM)</li>
<li><a href="../Pulse-code_modulation" title="Pulse-code modulation">Pulse-code modulation</a> (PCM)</li>
<li><a href="../Serial_communication" title="Serial communication">Serial communication</a></li>
<li>Category:Line codes</li></ul>
</div></td></tr></tbody></table></div></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-06-22" href="https://en.wikipedia.org/wiki/?title=8b%2F10b_encoding&amp;oldid=1296839634">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>